package com.itany.corejava.code17_设计模式.模板模式;

/**
 * @author MissChen
 * @version 1.0
 * @date 2023 年12月19日 14:51
 */
public class SortTemplate {

    public static <T> void sort(T[] arr,SortComparator<T> sc){
        for (int i = 1; i < arr.length; i++) {//外层循环控制比较的轮数
            for (int j = 0; j < arr.length - i; j++) {//内层循环控制每一轮比较的次数


                //将具体的实现细节留给方法的调用者进行实现
                int result=sc.compareTo(arr[j],arr[j+1]);
                if (result > 0) {
                    T temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
            }
        }
    }
}
